SHIM: A Language for Hardware/Software Integration
نویسنده
چکیده
Virtually every system designed today is an amalgam of hardware and software. Unfortunately, software and circuits that communicate across the hardware/software boundary are tedious and error-prone to create. This suggests a more automatic way to synthesize them. This paper presents the SHIM language, which combines imperative C-like semantics for software and RTL-like semantics for hardware to allow a unified description of hardware/software systems. Hardware processes and software functions communicate through shared variables, hardware for which is automatically synthesized by the SHIM compiler, which generates C and synthesizable VHDL. I demonstrate the effectiveness of the language by reimplementing an I2C bus controller. The SHIM source is half the size of an equivalent manual implementation, slightly faster, and has a smaller memory footprint. Partial and complete hardware implementations in SHIM are also presented, showing that SHIM is succinct and effective.
منابع مشابه
Compiling SHIM
Embedded systems demand concurrency for supporting simultaneous actions in their environment and parallel hardware. Although most concurrent programming formalisms are prone to races and nondeterminism, some, such as our shim (software/hardware integration medium) language, avoid them by design. In particular, the behavior of shim programs is scheduling-independent, meaning the I/O behavior of ...
متن کاملConcurrency and Communication: Lessons from the SHIM Project
Describing parallel hardware and software is difficult, especially in an embedded setting. Five years ago, we started the shim project to address this challenge by developing a programming language for hardware/software systems. The resulting language describes asynchronously running processes that has the useful property of schedulingindependence: the i/o of a shim program is not affected by a...
متن کاملDevelopment of hardware system using temperature and vibration maintenance models integration concepts for conventional machines monitoring: a case study
This article describes the integration of temperature and vibration models for maintenance monitoring of conventional machinery parts in which their optimal and best functionalities are affected by abnormal changes in temperature and vibration values thereby resulting in machine failures, machines breakdown, poor quality of products, inability to meeting customers’ demand, poor inventory contro...
متن کاملImplementation of Face Recognition Algorithm on Fields Programmable Gate Array Card
The evolution of today's application technologies requires a certain level of robustness, reliability and ease of integration. We choose the Fields Programmable Gate Array (FPGA) hardware description language to implement the facial recognition algorithm based on "Eigen faces" using Principal Component Analysis. In this paper, we first present an overview of the PCA used for facial recognition,...
متن کاملFrom UML to HDL: a Model Driven Architectural Approach to Hardware-Software Co-Design
The SMU Co-Design Project is an effort to target the problem of hardware/software co-design via an open source laboratory for studying hardware-software integration. The project focuses on the use of Model Driven Architectures (MDA) to define high-level modelbased system descriptions that can be implemented in either hardware or software. Utilizing component and state diagrams based on the Unif...
متن کامل